Sdn epc network-based charging method, system and storage medium

ABSTRACT

Disclosed is a charging method and system based on a SDN EPC network, which includes: receiving, by a controller, a charging rule from a charging rule generator, and establishing, through binding, a correspondence between a flow table of the controller and the charging rule; setting, by the controller, entries for the flow table bound to the charging rule, and sending the set flow table to a UGW; and receiving, by the controller, a statistical result, reported from the UGW, regarding traffic and/or duration consumed by a service in the flow table, and charging for the service according to the statistical result and the charging rule bound to the flow table.

TECHNICAL FIELD

The present disclosure relates to charging technology for communication,specifically to a method and system for charging based on a SoftwareDefined Network (SDN) and Evolved Packet Core (EPC) network.

BACKGROUND

Operators always confront a problem about how to safely and effectivelycharge for user's communications. In prior art, when an EPC networkcharges for user's communication, a PDN Gateway (PGW) and a ServingGateway (SGW), as forwarding plane devices in the EPC network, are bothintegrated with a Charging Trigger Function (CTF), a Charging DataFunction (CDF) and a Charging Gateway Function (CGF), with which thecollection and the credit control of charging information may beachieved, further implementing offline charging or online charging tothe user reliably.

In conclusion, the PGW and SGW in the EPC network have not only theessential function as forwarding plane devices, i.e., the forwardingfunction, but also a logic control function for controlling operationsrelated to charging. The forwarding plane devices in the EPC networktherefore have too much load and heavy burden. Furthermore, although theintroduction of multiple new technologies such as offloading technologyin the EPC network may lead to more overall network functions, the EPCnetwork in which the new technologies are introduced requires test anddeployment prior to the introduction which have a long cycle and highcost.

The Open Flow protocol of the network switching model implements theseparation between control and forwarding by dividing the networkentities into control plane devices and forwarding plane devices. Inthis case, the control plane devices are used for issuing logic controlto forwarding plane devices to instruct the actions of the forwardingplane devices; the forwarding plane devices forward a traffic flow to acertain physical port or logical unit according to the instructionrecorded in a flow table issued by the control plane devices. SDN, whichis the evolution of the Open Flow protocol, not only has the advantagesinherited from the Open Flow protocol, but also implements complexnetwork applications by using software programming technology on thecontrol plane devices, in which situation forwarding plane devices onlyneed to perform the logical control issued from control plane deviceswithout need of any adaptive change. Meanwhile, since the control planedevices of the SDN may be implemented in the form of a combination of auniversal server and a universal operating system, or in the form of auniversal software programming tool or of a script language such asPython which is easy to transplant and to understand, the support to newtechnologies of the SDN network becomes quite easy, i.e. the SDN networkis more universal and compatible, enabling the deployment cycle forintroducing new technologies to be reduced significantly.

There is an eager requirement for a SDN EPC network-based chargingmethod, combining respective features of a SDN network and an EPCnetwork and considering the diversity and versatility of futurenetworks.

SUMMARY

In order to solve the existing technical problems, the embodiments ofthe present disclosure provide a method, system and storage media forcharging based on a SDN EPC network, which are adapted to the separationbetween control and forwarding of a new generation mobile communicationnetwork, with better universality and portability.

The technical scheme of the embodiments of the present disclosure isimplemented as follows:

An embodiment of the present disclosure provides a charging method basedon a software defined network evolved packet core (SDN EPC) network,which includes:

receiving, by a controller, a charging rule from a charging rulegenerator, and establishing, through binding, a correspondence between aflow table of the controller and the charging rule;

setting, by the controller, entries for the flow table bound to thecharging rule, and sending the flow table to a unified gateway (UGW);and

receiving, by the controller, from the UGW a statistical resultregarding traffic and/or duration consumed by a service in the flowtable, and charging for the service according to the statistical resultand the charging rule bound to the flow table.

In the above technical scheme, the method may further include: after thecontroller sends the flow table to the UGW,

statistically analysing, by the UGW, the traffic and/or durationconsumed by service data according to the flow table and a charging modeassociated with the flow table, and reporting the statistical result tothe controller;

wherein the charging rule comprises the charging mode.

In the above technical scheme, the charging mode may include: chargingon traffic and/or charging on duration.

In the above technical scheme, for the charging mode which is chargingon traffic,

the flow table sent from the controller to the UGW is set with a payloadcounter entry and an operation instruction entry for instructing the UGWto count data packet payloads;

the UGW counts the data packet payloads using a payload counter;

when user state information and/or current statistical charginginformation are/is detected by the controller to meet a set triggeringcondition, the controller sends a message for requesting the UGW toreport the statistical result to the UGW, the UGW receives the messageand reports the amount of the counted data packet payloads to thecontroller; and

the controller calculates traffic usage of the service data based on thestatistical result.

In the above technical scheme, for the charging mode which is chargingon traffic,

the flow table sent from the controller to the UGW is set with anoperation instruction entry for instructing the UGW to initiate acounter of the UGW for counting service data packets;

the UGW counts data packets in a service flow using the counter of theUGW;

when user state information and/or current statistical charginginformation are/is detected by the controller to meet a set triggeringcondition, the controller sends a message for requesting the UGW toreport the statistical result to the UGW, the UGW receives the messageand reports the amount of the counted data packets to the controller;

the controller calculates traffic usage of the service data based on thestatistical result.

In the above technical scheme, for the charging mode which is chargingon traffic,

the flow table sent from the controller to the UGW is set with a timerentry or a traffic threshold entry, and with an operation instructionentry for instructing the UGW to initiate a payload counter which is setin the flow table to count data packet payloads, or instructing the UGWto initiate a counter of the UGW to count data packets;

the UGW initiates the timer, and initiates the payload counter to countdata packet payloads, or initiates the counter of the UGW to count datapackets;

the UGW reports the amount of the counted data packet payloads or theamount of the counted data packets to the controller upon detection ofan expiration of the timer or reaching of the traffic threshold;

the controller calculates traffic usage of service data based on thestatistical result reported from the UGW.

In the above technical scheme, for the charging mode which is chargingon duration,

the flow table sent from the controller to the UGW is set with aduration timer entry, a watchdog timer entry, and set with an operationinstruction entry for instructing the UGW to take a time at which datapackets arrive at the flow table as a start time at which a durationtimer is initiated, and to initiate a watchdog timer upon completereception of the data packets;

the UGW takes the time at which the data packets arrive at the flowtable as the start time at which the duration timer is initiated,initiates the duration timer, and initiates the watchdog timer uponcomplete reception of the data packets; the duration timer terminatestiming when the watchdog timer detects arrival of a time at which theduration timer terminates timing;

when the controller detects user state information and/or currentstatistical charging information meet a set triggering condition, thecontroller sends a message for requesting the UGW to report thestatistical result, and the UGW receives the message and reportsduration of transmission of the data packets, calculated by the durationtimer, to the controller;

the controller calculates duration of use of service data based on thestatistical result reported from the UGW.

In the above technical scheme, for the charging mode which is chargingon duration,

the flow table sent from the controller to the UGW is set with a timerentry, a duration timer entry and a watchdog timer entry, and set withan operation instruction entry for instructing the UGW to take a time atwhich data packets arrive at the flow table as a start time at which aduration timer is initiated, and to initiate a watchdog timer uponcomplete reception of the data packets;

the UGW takes the time at which the data packets arrive at the flowtable as the start time at which the duration timer is initiated, andinitiates the watchdog timer upon complete reception of the datapackets; the watchdog timer triggers the duration timer to terminatetiming when the watchdog timer detects arrival of a time at which theduration timer terminates timing; the UGW monitors the timer, andreports duration of transmission of the data packets, calculated by theduration timer, to the controller when the timer expires;

the controller calculates duration of use of service data based on thestatistical result reported from the UGW.

In the above technical scheme, for the charging mode which is chargingon duration,

the flow table sent from the controller to the UGW is set with awatchdog timer entry, and set with an operation instruction entry forinstructing the UGW to report a start time at which transmission of thedata packets starts, and to report a termination time at which thetransmission of the data packets is terminated;

the UGW takes the time at which the data packets arrive at the flowtable as the start time of the transmission, and initiates the watchdogtimer upon complete reception of the data packets; the watchdog timerdetects an arrival of the termination time at which the transmission ofthe data packets is terminated, and reports the start time and thetermination time of the transmission of the data packets to thecontroller; the controller calculates duration of use of service databased on the statistical result reported from the UGW.

In the above technical scheme, the user state information may include atleast one of the following: a user location, an access network type, aused rate period, and quality of service;

the statistical charging information comprises at least one of thefollowing: user's credit quota, traffic, the amount of data packets, theamount of data packet payloads, duration of transmission of datapackets, start time of the transmission of data packets, and terminationtime of the transmission of data packets.

In the above technical scheme, the method may further include:

the duration timer continues timing in a situation that there is stilldata transmission in the flow table before expiration of timing time ofthe watchdog timer; the duration timer takes the time at which thetiming time expires as the time at which the duration timer terminatestiming in a situation that there is no data transmission after theexpiration of the timing time of the watchdog timer; or

the watchdog timer continues monitoring the arrival of the terminationtime at which the transmission of data packets is terminated in asituation that there is still data transmission in the flow table beforeexpiration of timing time of the watchdog timer; the watchdog timertakes the time at which the timing time expires as the termination timewhen the transmission of data packets is terminated in a situation thatthere is no data transmission after the expiration of the timing time ofthe watchdog timer.

An embodiment of the present disclosure also provides a charging systembased on a software defined network evolved packet core (SDN EPC)network, comprising a charge rule generator, a controller and a unifiedgateway (UGW),

wherein the charging rule generator is configured to generate a chargingrule for a user service, and sending the charging rule to thecontroller;

the controller is configured to establish through binding acorrespondence between a flow table of the controller and the chargingrule according to the charging rule, set entries for the flow tablebound to the charging rule, and send the flow table to the UGW;

the UGW is configured to statistically analyse traffic and/or durationconsumed by service data according to the flow table and a charging modeassociated with the flow table, and report a statistical result to thecontroller; and

the controller is configured to charge for the service according to thestatistical result and the charging rule bound to the flow table;

wherein the charging rule comprises the charging mode.

In the above technical scheme, the charging mode may include: chargingon traffic and/or charging on duration.

In the above technical scheme, when the charging mode is the charging ontraffic,

the controller is configured to set a payload counter entry for the flowtable, set an operation instruction entry for instructing the UGW tocount data packet payloads, and send the flow table to the UGW;

the UGW is correspondingly configured to receive the flow table and usea payload counter to count the data packet payloads;

the controller is configured to send a message for requesting the UGW toreport the statistical result to the UGW when user state informationand/or current statistical charging information are/is detected to meeta set triggering condition;

the UGW is configured to report the amount of the counted data packetpayloads to the controller upon reception of said message; and

the controller is configured to calculate traffic usage of the servicedata based on the statistical result.

In the above technical scheme, when the charging mode is the charging ontraffic,

the controller is configured to set an operation instruction entry forthe flow table for instructing the UGW to initiate a counter of the UGWfor counting service data packets, and send the flow table to the UGW;

the UGW is correspondingly configured to receive the flow table andcount data packets in a service flow using the counter of the UGW; thecontroller is configured to send a message for requesting the UGW toreport the statistical result when user state information and/or currentstatistical charging information are/is detected to meet a settriggering condition;

the UGW is configured to report the amount of the counted data packetsto the controller upon reception of said message; and

the controller is configured to calculate traffic usage of the servicedata based on the statistical result.

In the above technical scheme, when the charging mode is the charging ontraffic,

the controller is configured to set a timer entry or a traffic thresholdentry for the flow table, and set an operation instruction entry forinstructing the UGW to initiate a payload counter which is set in theflow table to count data packet payloads, or instructing the UGW toinitiate a counter of the UGW to count data packets; and send the flowtable to the UGW;

the UGW is correspondingly configured to receive the flow table,initiate the timer, and initiating the payload counter to count datapacket payloads, or initiating the counter of the UGW to count datapackets; report the amount of the counted data packet payloads or theamount of the counted data packets to the controller upon detection ofan expiration of the timer or reaching of the traffic threshold; and

the controller is configured to calculate traffic usage of service databased on the statistical result reported from the UGW.

In the above technical scheme, when the charging mode is the charging onduration,

the controller is configured to set a duration timer entry and awatchdog timer entry for the flow table, and set an operationinstruction entry for instructing the UGW to take a time at which datapackets arrive at the flow table as a start time at which a durationtimer is initiated, and to initiate a watchdog timer upon completereception of the data packets, and to send the flow table to the UGW;

the UGW is configured to receive the flow table, take the time at whichthe data packets arrive at the flow table as the start time at which theduration timer is initiated, initiate the duration timer, and initiatethe watchdog timer upon complete reception of the data packets; whereinthe duration timer terminates timing when the watchdog timer detects thearrival of a time at which the duration timer terminates timing;

the controller is configured to send a message for requesting the UGW toreport the statistical result when user state information and/or currentstatistical charging information are/is detected to meet a settriggering condition;

the UGW is configured to report duration of transmission of the datapackets, which is calculated by the duration timer, to the controllerupon reception of said message; and

the controller is configured to calculate duration of use of servicedata based on the statistical result reported from the UGW.

In the above technical scheme, when the charging mode is the charging onduration,

the controller is configured to set a timer entry, a duration timerentry and a watchdog timer entry for the flow table, and set anoperation instruction entry for instructing the UGW to take a time atwhich data packets arrive at the flow table as a start time at which aduration timer is initiated, and to initiate a watchdog timer uponcomplete reception of the data packets; and send the flow table to theUGW;

the UGW is correspondingly configured to receive the flow table, takethe time at which the data packets arrive at the flow table as the starttime at which the duration timer is initiated, and initiate the watchdogtimer upon complete reception of the data packets; the watchdog timer isconfigured to trigger the duration timer to terminate timing when thewatchdog timer detects arrival of a time at which the duration timerterminates timing; the UGW is configured to monitor the timer and reportduration of transmission of the data packets, calculated by the durationtimer, to the controller when the timer expires; and

the controller is configured to calculate duration of use of servicedata based on the statistical result reported from the UGW.

In the above technical scheme, when the charging mode is the charging onduration,

the controller is configured to set an watchdog timer entry for the flowtable, and setting an operation instruction entry for instructing theUGW to report a start time at which transmission of the data packetsstarts, and to report a termination time at which the transmission ofthe data packets is terminated, and to send the flow table to the UGW;

the UGW is correspondingly configured to receive the flow table, takethe time at which the data packets arrive at the flow table as the starttime of the transmission, and initiate the watchdog timer upon completereception of the data packets; the watchdog timer detects an arrival ofthe termination time at which the transmission of the data packets isterminated, and report the start time and the termination time of thetransmission of the data packets to the controller; and

the controller is configured to calculate duration of use of servicedata based on the statistical result reported from the UGW.

In the above technical scheme, the user state information may include atleast one of the following: a user location, an access network type, aused rate period, and quality of service;

the statistical charging information comprises at least one of thefollowing: user's credit quota, traffic, the amount of data packets, theamount of data packet payloads, duration of transmission of datapackets, start time of the transmission of data packets and terminationtime of the transmission of data packets.

In the above technical scheme, the watchdog timer may be furtherconfigured to:

when there is still data transmission in the flow table beforeexpiration of timing time of the watchdog timer, notify the durationtimer to continue timing; when there is no data transmission after theexpiration of the timing time, notify the duration timer to take thetime at which the timing time expires as the time at which the durationtimer terminates timing; or

when there is still data transmission in the flow table beforeexpiration of timing time of the watchdog timer, continue monitoring thearrival of the termination time at which the transmission of datapackets is terminated; when there is no data transmission after theexpiration of the timing time of the watchdog timer, take the time atwhich the timing time expires as the termination time where thetransmission of data packets is terminated.

An embodiment of the present disclosure also provides a computer storagemedia, in which computer-executable instructions are stored forimplementing the charging method based on a SDN EPC network as describedabove.

The present disclosure provides a charging method and a charging systembased on a SDN EPC network and a computer storage media, in which acontroller receives a charging rule from a charging rule generator, andestablishes, through binding, a correspondence between a flow table ofthe controller and the charging rule; the controller sets entries forthe flow table bound to the charging rule, and sends the flow table to aUGW; the UGW statistically analyses the traffic or duration consumed byservice data according to the received flow table and its charging mode,and reports a statistical result to the controller; and the controllerreceives from the UGW the statistical result regarding traffic orduration consumed by a service in the flow table, and charges for theservice according to the statistical result and the charging rule boundto the flow table. The technical scheme according to the embodiments ofthe present disclosure enables the charging for communication serviceseither in a SDN network or in an EPC network with good universality andenhanced portability, adapted to the development requirements of the newgeneration mobile communication.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a flow diagram of a charging method based on SDN EPCnetwork according to an embodiment of the present disclosure;

FIGS. 2(a) to 2(b) show a diagram of a specific embodiment of thecharging method based on SDN EPC network according to the presentdisclosure;

FIG. 3 shows a flow diagram of a preferred implementation of thecharging method based on traffic according to an embodiment of thepresent disclosure;

FIG. 4 shows a flow diagram of another preferred implementation of thecharging method based on traffic according to an embodiment of thepresent disclosure;

FIG. 5 shows a flow diagram of a first preferred implementation of thecharging method based on duration according to an embodiment of thepresent disclosure;

FIG. 6 shows a flow diagram of a second preferred implementation of thecharging method on duration according to an embodiment of the presentdisclosure;

FIG. 7 shows a flow diagram of a third preferred implementation of thecharging method on duration according to an embodiment of the presentdisclosure;

FIG. 8 shows a diagram of another specific embodiment of the chargingmethod based on SDN EPC network according to the present disclosure; and

FIG. 9 shows a diagram of the structural composition the charging systembased on SDN EPC network according to an embodiment of the presentdisclosure.

DETAILED DESCRIPTION

As shown in FIG. 1, an embodiment of the present disclosure describes acharging method based on a SDN EPC network, which includes:

Step 11 is that: a controller receives a charging rule from a chargingrule generator, and establishes, through binding, a correspondencebetween a flow table of the controller and the charging rule.

Here, the charging rule generator sends the charging rule to thecontroller upon reception of a request message for the charging rulefrom the controller.

Step 12 is that: the controller sets entries for the flow table bound tothe charging rule, and sends the flow table to a unified gateway (UGW).

Here, charging for a service is performed according to the requirementof statistically analysing the traffic flow of the user service, e.g.according to the calculation of traffic or duration of the data packetsin the traffic flow; entries such as payload counter, a timer, a trafficthreshold, a duration timer, a watchdog timer, as well as an entry foroperation instruction directed to the UGW, are set for the flow tablebound with the correspondence. The operation instruction directed to theUGW is set according to actual statistical requirements. The entries setfor the flow table and the contents of the operation instruction will bedescribed with reference to the technical schemes below.

Here, the UGW statistically analyses the traffic and/or durationconsumed by service data according to the received flow table and itscharging mode, and reports a statistical result to the controller;wherein the charging rule includes: charging level, charging mode, etc.

Step 13 is that: the controller charges for the service according to thestatistical result and the charging rule bound to the flow table.

The discrimination between an online charging system (OCS) and anoffline charging system (OFCS) exists, and the charging method describedin the embodiments of the present disclosure is suitable for both ofthem.

It should be noted that, the communication entities in the descriptionof the charging method according to the embodiments of the presentdisclosure includes a mobile management entity (MME) in addition to acontroller, a UGW, an OCS and an OFCS.

In this case, the charging rule generator may specifically be a policyand charging rules function (PCRF).

FIGS. 2(a) to 2(b) show a diagram of a specific embodiment of thecharging method based on SDN EPC network according to the presentdisclosure. The technical scheme of this embodiment of the presentdisclosure will be further described in combination with FIGS. 2(a) to2(b). The communication entities to which this embodiment refersinclude: a controller, a UGW, an OCS and an MME.

Step 200 is that: the MME establishes a service bearer and a contextsession, and sends a request message for establishing a user planetransmission channel to a controller.

In this case, the request message further carries charging features anduser access information of users.

The charging features include: charging based on duration, charging ontraffic, charging on duration and traffic, a rate period, access gatewayinformation, etc. The user access information includes: the type of anetwork to access, the location of a user.

Step 201 is that: the controller establishes a user plane transmissionchannel upon reception of the request message, to provide a channel forthe transmission of user service data.

Step 202 is that: the controller sends a request message for a chargingrule to the charging rule generator.

Step 203 is that: the charging rule generator sends a charging rule tothe controller upon reception of the request message for a chargingrule.

In this case, the charging rule includes: charging levels and chargingmodes of the user. The charging levels include: ordinary charging forconversation, ordinary charging for Internet-surfing, preferentialcharging for conversation and preferential charging forInternet-surfing. The charging modes include: charging on duration,charging on traffic, charging on both duration and traffic.

Step 204 is that: the controller applies for a credit quota for acharging level in the charging rule upon reception of the charging rule,and initiates a credit control request (CCR) to the OCS.

Here, the charging modes include: charging based on duration, chargingon traffic, charging on duration and traffic; the charging levelsincludes charging at different rates such as ordinary charging andpreferential charging. Thus, the charging levels and the charging modescooperate in practical applications, for example, for a user who haschosen ordinary charging and charging on traffic, the user applies tothe OCS for a credit quota available to the user.

Step 205 is that: the OCS returns a credit control requestacknowledgement (CCR-ACK) message to the controller upon reception ofthe CCR, the CCR-ACK carrying credit quotas of different charginglevels.

Step 206 is that: the controller receives a credit quota correspondingto the charging level, generates a flow table according to a strategyrule in the policy and charging control (PCC) rule, and establishes, bybinding, a correspondence between the flow table and the charging rule(e.g. a charging level and a corresponding credit quota).

Here, the flow table contains multiple entries which may be: an Internetprotocol address of a user, a source address and a destination addressof traffic flow, an operation instruction for a UGW, the amount of datapackets in transmission, a charging mode, a charging level and a creditquota of a user and other statistical charging information.

It should be noted that following steps 207 to 210 describe a firstpreferred implementation of the charging method.

Step 207 is that: the controller sends the flow table to the UGW via anOFPT_FLOW_MOD message, the flow table is set with a payload counterentry and is set with an entry of an operation instruction directed tothe UGW for instructing the UGW to count bytes of data packet payloads.

Step 208 is that: the UGW counts bytes of the data packet payloads usingthe payload counter.

Here, a data packet in the service flow generally contains a head.Hence, when the charging on traffic is chosen, the charging should beperformed on the traffic of the payload bytes other than the heads inthe data packets, and the traffic of the heads should not be charged.The UGW counts bytes of the data packet payloads using the payloadcounter according to the operation instruction in the flow tablereceived from the controller.

Step 209 is that: the controller monitors whether user state informationand/or current charging counting information meets a set triggeringcondition, and when the user state information and/or current chargingcounting information are/is detected to meet the triggering condition,the controller sends an OFPT_MULTIPART_Request message requesting theUGW to report a statistical result.

In this case, the change of the user state information includes, but isnot limited to: change of quality of service (QoS), change of locationof a user, change of the type of a user access network, change of a rateperiod.

The triggering condition includes, but is not limited to: exhaustion ofcredit quota, termination of service traffic flow, termination ofcarrying, expiration of duration. The triggering condition is set by anoperator according to a practical communication situation and a userrequirement.

The statistical charging information includes, but is not limited to:contents related to charging information such as user's credit quota,traffic, amount of data packets, amount of bytes of data packetpayloads, duration of transmission of data packets, start time of thetransmission of data packets, termination time of the transmission ofdata packets.

Here, since the OCS clears charges in real time, even if the user is incommunication, the communication network will break automatically anddoes not provide services to the user in the case of exhaustion of thecredit quota.

Here, there is no strict sequence between steps 208 and 209, which maybe performed simultaneously.

Step 210 is that: the UGW reports the amount of bytes of the payloadscounted by the payload counter to the controller via anOFPT_MULTIPART_Reply message upon reception of theOFPT_MULTIPART_Request message.

Step 211 is that: the controller may acquire traffic usage of theservice and usage of the credit quota based on the statistical resultreported from the UGW.

In this case, the controller receives the amount of bytes of thepayloads counted by the payload counter and acquires the length of thepayload in each data packet, therefore calculates the traffic of thebytes of the data packet payloads.

The usage of the credit quota includes: exhaustion of the credit quota,remaining of the credit quota.

Step 212 is that: when the controller acknowledges that current creditquota designated by the OCS is not exhausted, the controller returns tostep 209; when the controller acknowledges that current credit quotadesignated by the OCS is exhausted or detects that the network currentlymeets the triggering condition of reauthorization, the controller goesto step 213.

In this case, the triggering condition of reauthorization includes, butis not limited to: change of QoS, change of location of a user, changeof a rate period.

Step 213 is that: the controller sends a credit control update requestto the OCS requesting the OCS to send a new credit quota, and then step214 is executed.

Step 214 is that: the OCS receives the credit control update request,and when the OCS determines that there is credit quota remained in theuser account, step 215 is executed; when the OCS determines that thecredit quota of the user account is exhausted, the OCS notifies thecontroller to execute step 217.

Step 215 is that: the OCS returns a credit control updateacknowledgement message which carries a new credit quota designated bythe OCS, and step 216 is then executed.

Here, step 215 is a process for credit control update.

Step 216 is that: the controller monitors usage of the new credit quotain the way as described in steps 209 to 212 upon reception of the newcredit quota.

Step 217 is that: the controller sends a request message for creditcontrol termination to the OCS, and step 218 is then executed.

Step 218 is that: the OCS stops sending user information such asremaining credit quota, remaining traffic, remaining duration to thecontroller, and then step 219 is executed.

In this case, there is not strict sequence between steps 218 and 219,which may be performed simultaneously.

Step 219 is that: the controller searches for a flow table having nocredit quota according to the correspondence between the credit quotaand the flow table, deletes the flow table and breaks the user planetransmission channel.

In the above technical scheme, steps 217 to 219 describe a process forcredit control termination. Concepts such as user access information,user state information, triggering condition, statistical charginginformation mentioned in following technical schemes of the embodimentsof the present disclosure are the same as above and will not bedescribed again.

In the above technical scheme, as the first preferred implementation ofthe charging method based on traffic, steps 207 to 210 relates to theencapsulation of data packets which have following forms: GenericRouting Encapsulation (GRE), General Packet Radio Service (GPRS), GPRSTunnelling Protocol (GTP), Proxy Mobile IP (PMIP). The encapsulation ofthe data packets mentioned in following technical schemes is the same asabove and will not be describe again.

In the above technical scheme, steps 207 to 210 describe the firstpreferred implementation of the charging method based on traffic. Whenthe controller sends the flow table to the UGW, a payload counter entryand an entry for instructing the UGW to count bytes of data packetpayloads are set in the flow table. Besides, there may be a secondpreferred implementation of the charging method based on traffic asshown in FIG. 3 and a third preferred implementation of the chargingmethod on traffic as shown in FIG. 4.

The second preferred implementation of the charging method on traffic isfurther described with reference to FIG. 3.

Step 307 is that: the controller sends a flow table to the UGW via anOFPT_FLOW_MOD message, and sets an entry for operation instructiondirected to the UGW for instructing the UGW to initiate a counter of theUGW for counting service data packets in the service flow.

Step 308 is that: the UGW uses a counter of the UGW to count the datapacket payloads in a service flow.

Step 309 is that: the controller monitors whether user state informationand/or current charging counting information meet(s) a set triggeringcondition, and when the user state information and/or current chargingcounting information are/is detected to meet the triggering condition,the controller sends an OFPT_MULTIPART_Request message requesting theUGW to report statistical result.

Here, there is not strict sequence between steps 308 and 309, which maybe performed simultaneously.

Step 310 is that: the UGW reports the amount of the payloads counted bythe counter of the UGW to the controller via an OFPT_MULTIPART_Replymessage upon reception of the OFPT_MULTIPART_Request message.

Here, the second preferred implementation in FIG. 3 differs with thefirst preferred implementation in that, in the second preferredimplementation, the UGW counts the data packets including a head.Furthermore, since the head of a data packet is designated by thecontroller, the controller may calculate overall traffic of the datapackets based on the amount of the data packets received by thecontroller in consideration of the length of each data packet, thendeduce the traffic of the bytes of data packet payloads by deducting thetraffic of the head from the calculated overall traffic.

The third preferred implementation of the charging method based ontraffic is further described with reference to FIG. 4.

Step 407 is that: the controller sends a flow table to the UGW via anOFPT_FLOW_MOD message, the flow table is set with a timer entry or atraffic threshold entry and is set with an entry for operationinstruction directed to the UGW.

In this case, the operation instruction directed to the UGW may be:instructing the UGW to initiate the payload counter which is set in theflow table to count the bytes of data packet payloads, or instructingthe UGW to initiate the counter of the UGW to count the data packets,which is determined by the granularity of charging required by thecontroller.

Step 408 is that: the UGW initiates the timer, and initiates the payloadcounter to count the bytes of data packet payloads, or initiates thecounter of the UGW to count the data packets.

Step 409 is that: the UGW monitors whether a timing time of the timerarrives or the traffic threshold arrives, and step 410 is executed whentiming time of the timer or the traffic threshold arrives; otherwise,step 409 is repeated.

Here, there is not strict sequence between steps 408 and 409, which maybe performed simultaneously.

Step 410 is that: the UGW reports the amount of bytes of the countedpayloads or the amount of the counted data packets to the controller viaan OFPT_MULTIPART_Reply message.

Here, the controller may obtain traffic of the data packet payloadsbased on the received amount of bytes of payloads in consideration ofthe length of the data packets. When the controller receives the amountof the data packets, it may calculate overall traffic of the datapackets in consideration of the length of the data packets, and thendeduce the traffic of the data packet payloads by deducting the trafficof the head from the calculated overall traffic.

For the first, second and third preferred implementations of thecharging method on traffic describe above, there are different chargingmodes including charging on traffic based on a carrier, charging ontraffic based on a service flow and charging on traffic based on a userin the EPS network, therefore, in practical applications,

for the charging on traffic based on a carrier, the controller may setthe payload counter and instruct the UGW to count the bytes of payloads,or sets the UGW to initiate a timer of the UGW, or sets a timer or atraffic threshold and an operation instruction directed to the UGW in aflow table or its entry which matches with a user plane Tunnel EndpointIdentifier (TEID);

for the charging on traffic based on a service traffic flow, thecontroller may set the payload counter and instruct the UGW to count thepayloads, or sets the UGW to initiate a timer of the UGW, or sets atimer or a traffic threshold and an operation instruction directed tothe UGW in a flow table of its entry which matches with each serviceflow quintuple;

for the charging on traffic based on a user, the controller may set thepayload counter and instruct the UGW to count the payloads, or sets theUGW to initiate a timer of the UGW, or sets a timer or a trafficthreshold and an operation instruction directed to the UGW in a flowtable of its entry which matches with the IP address of the user.

Amongst previous steps 200 to 219, steps 207 to 210 may be equivalentlysubstituted by steps 307 to 310 in the second preferred implementationof the charging method on traffic, or by steps 407 to 410 in the thirdpreferred implementation of the charging method on traffic. Accordingly,in step 212, when the controller acknowledges that the credit quota isnot exhausted, it returns to step 309 or 409. In step 216, thecontroller monitors usage of a new credit quota in the way as describedin steps 309, 310 to 212 or steps 409, 410 to 212 upon reception of thenew credit quota.

In the above description of the technical scheme, charging on traffic istaken as the example. The charging method involved in the embodiments ofthe present disclosure may be charging on duration in addition tocharging on traffic. The embodiments of the present disclosure will befurther described with reference to a first, second and third preferredimplementations of the charging method on duration as shown in FIGS. 5,6 and 7.

The first preferred implementation of the charging method based onduration is further described with reference to FIG. 5.

Step 507 is that: the controller sends a flow table to the UGW via anOFPT_FLOW_MOD message, sets a duration timer entry and a watchdog timerentry for the flow table, and sets an entry for operation instructiondirected to the UGW for instructing the UGW to take a time at which thedata packets arrive at the flow table as a start time at which theduration timer is initiated, and to initiate the watchdog timer uponcomplete reception of the data packets.

Step 508 is that: the UGW takes the time at which the data packetsarrive at the flow table as the start time at which the timing starts,initiates the duration timer, and initiates the watchdog timer uponcomplete reception of the data packets; the watchdog timer monitors thearrival of a time at which the duration timer finishes timing.

Here, if there is data transmission in the flow table before expirationof timing time of the watchdog timer, then the duration timer continuestiming; if there is no data transmission after the expiration of thetiming time of the watchdog timer, then the time at which the timingtime expires is taken as the time at which the timing is terminated. Theduration timer terminates the timing of the duration of the data packetsat the time at which the timing finishes.

Step 509 is that: the controller monitors whether user state informationand/or current charging counting information meet(s) a set triggeringcondition, and when the user state information and/or current chargingcounting information are/is detected to meet the triggering condition,the controller sends an OFPT_MULTIPART_Request message requesting theUGW to report a statistical result.

Here, there is not strict sequence between steps 508 and 509, which maybe performed simultaneously.

Step 510 is that: the UGW reports the duration of transmission of thedata packets counted by the duration timer to the controller in anOFPT_MULTIPART_Reply message upon reception of theOFPT_MULTIPART_Request message.

Step 511 is that: the controller acquires duration of the service flowand usage of the credit quota based on the statistical result reportedfrom the UGW.

The first preferred implementation of the charging method on duration isfurther described below with reference to FIG. 6.

Step 607 is that: the controller sends a flow table to the UGW via anOFPT_FLOW_MOD message, sets a timer entry, a duration timer entry and awatchdog timer entry for the flow table, and sets an entry for operationinstruction directed to the UGW for instructing the UGW to take time atwhich the data packets arrive at the flow table as a start time at whichthe duration timer is initiated, and to initiate the watchdog timer uponcomplete reception of the data packets.

Step 608 is that: the UGW takes the time at which the data packetsarrive at the flow table as the start time at which the timing starts,initiates the duration timer, and initiates the watchdog timer uponcomplete reception of the data packets; the watchdog timer monitors thearrival of a time at which the duration timer finishes timing.

Here, if there is data transmission in the flow table before expirationof timing time of the watchdog timer, then the duration timer continuestiming; if there is no data transmission after the expiration of thetiming time of the watchdog timer, then the time at which the timingtime expires is taken as the time at which the timing is terminated. Theduration timer terminates the timing of the duration of the data packetsat the time at which the timing finishes.

Step 609 is that: the UGW monitors the timer and goes to step 610 whenthe timer expires.

Step 610 is that: the UGW reports the duration of transmission of thedata packets counted by the duration timer to the controller in anOFPT_MULTIPART_Reply message.

Step 611 is that: the controller may require duration of the serviceflow and usage of the credit quota based on the statistical resultreported from the UGW.

The third preferred implementation of the charging method on duration isfurther described below with reference to FIG. 7.

Step 707 is that: the controller sends the flow table to the UGW via anOFPT_FLOW_MOD message, and sets a watchdog timer entry and an entry foroperation instruction directed to the UGW for the UGW.

Here, the setting of the entry for operation instruction directed to theUGW may be instructing the UGW to report a start time at which thetransmission of the data packets starts and to report a finish time atwhich the transmission of the data packets is terminated.

Step 708 is that: the UGW takes the time at which the data packetsarrive at the flow table as the start time at which the transmissionstarts, and initiates the watchdog timer upon complete reception of thedata packets; the watchdog timer monitors the arrival of a time at whichthe transmission of the data packets.

Here, if there is still data transmission in the flow table beforeexpiration of timing time of the watchdog timer, then the watchdog timercontinues monitoring the arrival of the finish time; if there is no datatransmission after the expiration of the timing time of the watchdogtimer, then the time at which the timing time expires is taken as thefinish time where the transmission of the data packets finishes.

Step 710 is that: the UGW reports the start time and the terminationtime of the transmission of each data packet to the controller via anOFPT_FLOW_Report message.

Step 711 is that: the controller requires duration of the service flowand usage of the credit quota based on the statistical result reportedfrom the UGW.

For the first, second and third preferred implementations of thecharging method on duration described above, there are differentcharging modes including charging on duration based on a carrier,charging on duration based on a service flow and charging on durationbased on a user in the EPS network, therefore, in practicalapplications,

for the charging on duration based on a carrier, the controller may set,for the flow table or its entry matched with TEID, a duration timer, awatchdog timer and instruct the UGW to take the time at which the datapacket arrives as a time at which timing starts and to initiate thewatchdog timer upon complete reception of the data packet, or set atimer, a duration timer, a watchdog timer and instruct the UGW to takethe time at which the data packet arrives as a time at which timingstarts and to initiate the watchdog timer upon complete reception of thedata packet, or set a watchdog timer and instructing the UGW to reportthe start time at which the transmission of the data packet begins, andto report the finish time at which the transmission of the data packetfinishes.

for the charging on duration based on service traffic flow, thecontroller may set, for the table or its entry matched with each serviceflow quintuple, a duration timer, a watchdog timer and instruct the UGWto take the time at which the data packet arrives as a time at whichtiming starts and to initiate the watchdog timer upon complete receptionof the data packet, or set a timer, a duration timer, a watchdog timerand instruct the UGW to take the time at which the data packet arrivesas a time at which timing starts and to initiate the watchdog timer uponcomplete reception of the data packet, or set a watchdog timer andinstruct the UGW to report the start time at which the transmission ofthe data packet begins, and to report the finish time at which thetransmission of the data packet finishes.

for the charging on duration based on user, the controller may set, forthe table or its entry matched with IP address of the user, a durationtimer, a watchdog timer and instruct the UGW to take the time at whichthe data packet arrives as a time at which timing starts and to initiatethe watchdog timer upon complete reception of the data packet, or set atimer, a duration timer, a watchdog timer and instruct the UGW to takethe time at which the data packet arrives as a time at which timingstarts and to initiate the watchdog timer upon complete reception of thedata packet, or set a watchdog timer and instruct the UGW to report thestart time at which the transmission of the data packet begins, and toreport the finish time at which the transmission of the data packetfinishes.

Amongst previous steps 200 to 219, steps 207 to 211 may be equivalentlysubstituted by steps 507 to 511 in the first preferred implementation ofthe charging method on duration, or by steps 607, 608, 610 and 611 inthe second preferred implementation of the charging method on duration,or by steps 707, 708, 710 and 711 in the third preferred implementationof the charging method on duration. Accordingly, in step 212, when thecontroller acknowledges that the credit quota is not exhausted, itreturns to step 509 or 608 or 708. In step 216, the controller monitorsusage of the new credit quota in the way as described in steps 509 to212, or steps 608 to 212, or steps 708 to 212 upon reception of the newcredit quota.

FIG. 8 shows a diagram of another specific embodiment of the chargingmethod based on SDN EPC network according to the present disclosure. Thetechnical scheme of this embodiment of the present disclosure will befurther described in combination with FIG. 8. The communication entitiesto which this embodiment refers includes: a controller, a UGW, an MME,charging rule generator and an OFCS.

Step 800 is that: the MME establishes a service carrier and a contextsession, and sends a request message for establishment a user planetransmission channel to a controller.

In this case, the request message further carries charging features anduser access information of users.

Step 801 is that: the controller establishes a user plane transmissionchannel upon reception of the request message, to provide a channel forthe transmission of user service data.

Here, steps 800 to 810 both involve a unified entity, i.e. a UGW, whichis not embodied as a SGW and a PGW. When the UGW is embodied as a SGWand a PGW, and when the controller establishes a user plane transmissionchannel in step 801, the controller also assigns a charging identifierto each user, through which statistical information reported from theSGW and from the PGW to the controller is bound to the correspondinguser.

Step 802 is that: the controller sends a request message for a chargingrule to the charging rule generator.

Step 803 is that: the charging rule generator sends a charging rule tothe controller upon reception of the request for a charging rule.

Step 804 is that: the controller generates a flow table according to acharging level, a charging mode and a PCC in the charging rule, andestablishes, by binding, a correspondence between the flow table and thecharging rule.

It should be noted that following steps 805 to 808 describe a firstpreferred implementation of the charging method.

Step 805 is that: the controller sends a flow table to the UGW via anOFPT_FLOW_MOD message, a payload counter entry and an entry foroperation instruction directed to the UGW for instructing the UGW tocount bytes of data packet payloads are set in the flow table.

Step 806 is that: the UGW counts bytes of the data packet payloads usingthe payload counter.

Step 807 is that: the controller monitors whether user state informationand/or current charging counting information meets a set triggeringcondition, and when the user state information and/or current chargingcounting information are/is detected to meet the triggering condition,the controller sends an OFPT_MULTIPART_Request message requesting theUGW to report a statistical result.

Here, there is not strict sequence between steps 806 and 807, which maybe performed simultaneously.

Step 808 is that: the UGW reports the amount of bytes of the payloadscounted by the payload counter to the controller in anOFPT_MULTIPART_Reply message upon reception of theOFPT_MULTIPART_Request message.

Step 809 is that: the controller calculates traffic of the data packetpayloads upon reception of the statistical result reported from the UGW,and sends a charging request to the OFCS.

Step 810 is that: OFCS generates a Charging Data Record (CDR) uponreception of the charging request, and returns a charging requestacknowledgement to the controller.

Here, the controller sends the charging request to the OFCS, which thengenerates the CDR for the corresponding user, so as to clear charges forthe communication of the user.

In the above technical scheme, steps 805 to 808 describe the firstpreferred implementation of the charging method on traffic. Besides,steps 805 to 808 may be equivalently substituted by any of the follows:the second preferred implementation of the charging method based ontraffic as shown in FIG. 3, the third preferred implementation of thecharging method based on traffic as shown in FIG. 4, the first preferredimplementation of the charging method based on duration as shown in FIG.5, the second preferred implementation of the charging method based onduration as shown in FIG. 6 and the third preferred implementation ofthe charging method based on traffic as shown in FIG. 7, which will notbe repeated.

While, in the case of the first, second and third preferredimplementations of the charging method based on duration, in step 809,the controller calculates the duration of usage of the data packetaccording to the statistical result reported from the UGW, and sends acharging request to the OFCS.

An embodiment of the present disclosure also provides a computer storagemedia, in which computer-executable instructions are stored, forimplementing the charging method based on a SDN EPC network as describedabove.

Based on the above implementation, an embodiment of the presentdisclosure also provides a charging system based on a SDN EPC network,as shown in FIG. 9. The system includes a charge rule generator 1, acontroller 2 and a UGW 3,

wherein the charging rule generator 1 is configured to generate acharging rule for a user service, and send the charging rule to thecontroller;

wherein the controller 2 is configured to establish through binding acorrespondence between a flow table of the controller and the chargingrule according to the charging rule, set entries for the flow tablebound to the charging rule, and send the set flow table to the UGW 3;

the UGW 3 is configured to statistically analyse the traffic and/orduration consumed by service data according to the received flow tableand its charging mode, and reports a statistical result to thecontroller 2;

the controller 2 is configured to charge for the service according tothe statistical result reported from the UGW 3 and the charging rulebound to the flow table.

In this case, the charging rule includes a charging mode and a charginglevel, which contain contents described with reference to the previousmethod.

The system of the embodiment of the present disclosure includescomponents which are further described in scenarios 1 to 6.

Scenario 1

When a charging mode in the charging rule sent from the charging rulegenerator 1 to the controller 2 is charging on traffic, the controller 2sets a payload counter for a flow table and sets an entry for operationinstruction for UGW for instructing the UGW 3 to count the data packetpayloads, and sends the flow table to the UGW 3; the UGW 3 receives theflow table and counts the data packet payloads using the payloadcounter; and the controller 2 monitors whether user state informationand/or current statistical charging information meets a set triggeringcondition;

and the controller 2 sends an OFPT_MULTIPART_Request message forrequesting the UGW to report the statistical result to the UGW 3 whenthe user state information and/or current statistical charginginformation is detected to meet a set triggering condition; when the UGW3 receives the OFPT_MULTIPART_Request message, returns anOFPT_MULTIPART_Request message to the controller 2, ensuring that thestatistical result of the data packet payloads is reported to thecontroller 3; the controller 3 calculates usage of traffic of theservice data based on the statistical result.

Scenario 2

When a charging mode in the charging rule sent from the charging rulegenerator 1 to the controller 2 is charging on traffic, the controller 2sets an entry for operation instruction for UGW for instructing the UGW3 to initiate a timer of the UGW 3 to count the data packets in theservice flow, and sends the flow table to the UGW 3; the UGW 3 receivesthe flow table and counts the data packets in the service steam usingthe counter of the UGW 3; and when the controller 2 monitors that userstate information and/or current statistical charging information meetsa set triggering condition, the controller 2 sends anOFPT_MULTIPART_Request message for requesting the UGW 3 to report thestatistical result; the UGW 3 returns an OFPT_MULTIPART_Request to thecontroller 2 upon reception of the OFPT_MULTIPART_Request message andreports the resulted amount of the data packets to the controller 2; thecontroller 2 calculates usage of traffic of the service data based onthe statistical result.

Scenario 3

When a charging mode in the charging rule sent from the charging rulegenerator 1 to the controller 2 is charging on traffic, the controller 2sets a timer entry or a traffic threshold entry, and sets an entry foroperation instruction for UGW for instructing the UGW 3 to initiate apayload timer to count the data packet payloads or instructing the UGW 3to initiate the counter of the UGW 3 to count the data packets, andsends the flow table to the UGW 3; the UGW 3 receives the flow table,initiates the timer, and initiates the payload counter to count the datapacket payloads or initiates the timer of the UGW 3 to count the datapackets; and the UGW 3 monitors whether user state information and/orcurrent statistical charging information meets a set triggeringcondition, when the user state information and/or current statisticalcharging information is monitored to meet a set triggering condition,the UGW 3 sends the amount of the data packet payloads or of the datapackets to the controller 2 via an OFPT_MULTIPART_Reply message; thecontroller 2 calculates usage of traffic of the service data based onthe statistical result reported from the UGW.

Scenario 4

When a charging mode in the charging rule sent from the charging rulegenerator 1 to the controller 2 is charging on duration, the controller2 sets a duration timer entry and a watchdog timer entry for the flowtable, and sets an entry for operation instruction for UGW forinstructing the UGW 3 to take a time at which the data packets arrive atthe flow table as a start time at which the duration timer is initiated,and to initiate the watchdog timer upon complete reception of the datapackets; and send the flow table to the UGW 3;

the UGW 3 is configured to receive the flow table, take the time atwhich the data packets arrive at the flow table as the start time atwhich the duration timer is initiated, initiate the duration timer, andinitiate the watchdog timer upon complete reception of the data packets;the duration timer finishing timing when the watchdog timer monitors thearrival of a time at which the duration timer finishes timing;

Here, if there is data transmission in the flow table before expirationof timing time of the watchdog timer, then the duration timer continuestiming; if there is no data transmission after the expiration of thetiming time of the watchdog timer, then the time at which the timingtime expires is taken as the time at which the timing is terminated. Theduration timer terminates the timing of the duration of the data packetsat the time at which the timing is terminated.

When the controller 2 detects that user state information and/or currentcharging counting information meets a set triggering condition, thecontroller 2 sends an OFPT_MULTIPART_Request message for requesting theUGW 3; the UGW 3 receives said message and reports duration oftransmission of the data packets, calculated by the duration timer, tothe controller 2; the controller 2 calculates duration of use of theservice data based on the statistical result reported from the UGW.

Scenario 5

When a charging mode in the charging rule sent from the charging rulegenerator 1 to the controller 2 is charging on duration, the controller2 sets a timer entry, a duration timer entry and a watchdog timer entryfor the flow table, and sets an entry for operation instruction for UGWfor instructing the UGW 3 to take time at which the data packets arriveat the flow table as a start time at which the duration timer isinitiated, and to initiate the watchdog timer upon complete reception ofthe data packets; and send the flow table to the UGW 3;

the UGW receives the flow table, takes the time at which the datapackets arrive at the flow table as the start time at which the durationtimer is initiated, and initiates the watchdog timer upon completereception of the data packets; triggers the duration timer to finishtiming when the watchdog timer monitors the arrival of the time at whichthe duration timer finishes timing; the UGW monitors the timer, and theUGW 3 reports the duration of data transmission, calculated by theduration timer, to the controller 2 in an OFPT_FLOW_Report message whenthe timer expires; the controller 2 calculates duration of use of theservice data based on the statistical result reported from the UGW 3.

In this case, if there is data transmission in the flow table beforeexpiration of timing time of the watchdog timer, then the duration timercontinues timing; if there is no data transmission after the expirationof the timing time of the watchdog timer, then the time at which thetiming time expires is taken as the time at which the timing isterminated. The duration timer terminates the timing of the duration ofthe data packets at the time at which the timing finishes.

Scenario 6

When a charging mode in the charging rule sent from the charging rulegenerator 1 to the controller 2 is charging on duration, the controller2 sets a watchdog timer entry for the flow table, and sets an entry foroperation instruction for UGW for instructing the UGW 3 to report thetime at which the data transmission starts and the time at which thedata transmission finishes; and sends the flow table to the UGW 3;

the UGW 3 receives the flow table, takes the time at which the datapackets arrive at the flow table as the start time of the transmission,and initiating the watchdog timer upon complete reception of the datapackets; the watchdog timer monitors an arrival of the termination timeat which the transmission of the data packets finishes, and reports thestart time and the termination time of the transmission of the datapackets to the controller 2; the controller calculates duration of useof the service data based on the statistical result reported from theUGW.

In the above scenarios, the referred user state information includes,but is not limited to, a user location, an access network type, a usedrate period and quality of service;

the statistical charging information includes, but is not limited touser's credit quota, traffic, amount of data packets, amount of datapacket payloads, duration of transmission of data packets, start time ofthe transmission of data packets, termination time of the transmissionof data packets.

Those skilled in the art should understand that the achieved functionsof processing modules in the charging system based on a SDN EPC networkas shown in FIG. 9 may be understood by reference to the descriptionrelated to the charging method based on a SDN EPC network. Those skilledin the art should understand that the functions of processing modules inthe charging system based on a SDN EPC network as shown in FIG. 9 may beimplemented by a programme running on a processor or by a specific logiccircuit.

The present disclose provides a charging method and system based on aSDN EPC network and a computer storage media, in which a controllerreceives a charging rule from a charging rule generator, andestablishes, through binding, a correspondence between a flow table ofthe controller and the charging rule; the controller sets entries forthe flow table bound to the charging rule, and sends the set flow tableto a UGW; the UGW statistically analyses the traffic and/or durationconsumed by service data according to the received flow table and itscharging mode, and reports a statistical result to the controller; andthe controller receives the statistical result, reported from the UGW,regarding traffic or duration consumed by a service in the flow table,and charges for the service according to the statistical result and thecharging rule bound to the flow table. The technical scheme according tothe embodiments of the present disclosure enables the implementation ofcharging for communication services either in SDN networks or in EPCnetworks with good universality and enhanced portability, adapted to thedevelopment requirements for the new generation mobile communication.

Those skilled in the art should understand that the embodiments of thepresent disclosure may be a method, a system or a computer programmeproduct. Therefore, the present disclosure may take the form of ahardware embodiment, a software embodiment, or an embodiment combininghardware and software. Moreover, the present disclosure may take theform of a computer programme product which is embodied on one or morecomputer-usable storage media (including but not limited to diskstorage, optical storage and so forth) containing computer-usableprogramme codes.

The present disclosure is described by reference to flowcharts and/orblock diagrams the method, device (system) and computer programmeproduct of the embodiments of the present disclosure. It should beunderstood that each of the processes and/or blocks and combinationthereof are implemented by computer programme instructions. Thesecomputer programme instructions may be provided for a processor of auniversal computer, a dedicated computer, en embedded processor or otherprogrammable data processing devices to form a machine, instructionsexecuted by a processor of a computer or other programmable dataprocessing devices therefore form an apparatus for implementingfunctions indicated in one or more processes in a flowchart and/or oneor more blocks in a block diagram.

There computer programme instructions may also be stored in acomputer-readable storage which enables a computer or other programmedata processing devices to operate in a particular way, such that theinstructions stored in the computer-readable storage form a manufactureincluding an instruction apparatus, which implements the functionsindicated in one or more processes in a flowchart and/or one or moreblocks in a block diagram.

These computer programme instructions may be loaded into a computer orother programmable data processing devices, such that the computer orother programmable data processing devices perform a series of operationsteps to implement processing realized by the computer, therefore theinstructions executed on the computer or other programmable devices areused for implementing steps of functions indicated in one or moreprocesses in a flowchart and/or one or more blocks in a block diagram.

Above description are merely preferred embodiments of the presentdisclosure, but not to limit the scope of protection of the presentdisclosure.

1. A charging method based on a software defined network evolved packetcore (SDN EPC) network, comprising: receiving, by a controller, acharging rule from a charging rule generator, and establishing, throughbinding, a correspondence between a flow table of the controller and thecharging rule; setting, by the controller, entries for the flow tablebound to the charging rule, and sending the flow table to a unifiedgateway (UGW); and receiving, by the controller, from the UGW astatistical result regarding traffic and/or duration consumed by aservice in the flow table, and charging for the service according to thestatistical result and the charging rule bound to the flow table.
 2. Thecharging method based on a SDN EPC network according to claim 1, furthercomprising: after the controller sends the flow table to the UGW,statistically analysing, by the UGW, the traffic and/or durationconsumed by service data according to the flow table and a charging modeassociated with the flow table, and reporting the statistical result tothe controller; wherein the charging rule comprises the charging mode.3. The charging method based on a SDN EPC network according to claim 2,wherein the charging mode comprises: charging on traffic and/or chargingon duration.
 4. The charging method based on a SDN EPC network accordingto claim 3, wherein for the charging mode which is charging on traffic,the flow table sent from the controller to the UGW is set with a payloadcounter entry and an operation instruction entry for instructing the UGWto count data packet payloads; the UGW counts the data packet payloadsusing a payload counter; when user state information and/or currentstatistical charging information are/is detected by the controller tomeet a set triggering condition, the controller sends a message forrequesting the UGW to report the statistical result to the UGW, the UGWreceives the message and reports the amount of the counted data packetpayloads to the controller; and the controller calculates traffic usageof the service data based on the statistical result.
 5. The chargingmethod based on a SDN EPC network according to claim 3, wherein for thecharging mode which is charging on traffic, the flow table sent from thecontroller to the UGW is set with an operation instruction entry forinstructing the UGW to initiate a counter of the UGW for countingservice data packets; the UGW counts data packets in a service flowusing the counter of the UGW; when user state information and/or currentstatistical charging information are/is detected by the controller tomeet a set triggering condition, the controller sends a message forrequesting the UGW to report the statistical result to the UGW, the UGWreceives the message and reports the amount of the counted data packetsto the controller; the controller calculates traffic usage of theservice data based on the statistical result.
 6. The charging methodbased on a SDN EPC network according to claim 3, wherein for thecharging mode which is charging on traffic, the flow table sent from thecontroller to the UGW is set with a timer entry or a traffic thresholdentry, and with an operation instruction entry for instructing the UGWto initiate a payload counter which is set in the flow table to countdata packet payloads, or instructing the UGW to initiate a counter ofthe UGW to count data packets; the UGW initiates the timer, andinitiates the payload counter to count data packet payloads, orinitiates the counter of the UGW to count data packets; the UGW reportsthe amount of the counted data packet payloads or the amount of thecounted data packets to the controller upon detection of an expirationof the timer or reaching of the traffic threshold; the controllercalculates traffic usage of service data based on the statistical resultreported from the UGW.
 7. The charging method based on a SDN EPC networkaccording to claim 3, wherein for the charging mode which is charging onduration, the flow table sent from the controller to the UGW is set witha duration timer entry, a watchdog timer entry, and set with anoperation instruction entry for instructing the UGW to take a time atwhich data packets arrive at the flow table as a start time at which aduration timer is initiated, and to initiate a watchdog timer uponcomplete reception of the data packets; the UGW takes the time at whichthe data packets arrive at the flow table as the start time at which theduration timer is initiated, initiates the duration timer, and initiatesthe watchdog timer upon complete reception of the data packets; theduration timer terminates timing when the watchdog timer detects arrivalof a time at which the duration timer terminates timing; when thecontroller detects user state information and/or current statisticalcharging information meet a set triggering condition, the controllersends a message for requesting the UGW to report the statistical result,and the UGW receives the message and reports duration of transmission ofthe data packets, calculated by the duration timer, to the controller;the controller calculates duration of use of service data based on thestatistical result reported from the UGW.
 8. The charging method basedon a SDN EPC network according to claim 3, wherein for the charging modewhich is charging on duration, the flow table sent from the controllerto the UGW is set with a timer entry, a duration timer entry and awatchdog timer entry, and set with an operation instruction entry forinstructing the UGW to take a time at which data packets arrive at theflow table as a start time at which a duration timer is initiated, andto initiate a watchdog timer upon complete reception of the datapackets; the UGW takes the time at which the data packets arrive at theflow table as the start time at which the duration timer is initiated,and initiates the watchdog timer upon complete reception of the datapackets; the watchdog timer triggers the duration timer to terminatetiming when the watchdog timer detects arrival of a time at which theduration timer terminates timing; the UGW monitors the timer, andreports duration of transmission of the data packets, calculated by theduration timer, to the controller when the timer expires; the controllercalculates duration of use of service data based on the statisticalresult reported from the UGW.
 9. The charging method based on a SDN EPCnetwork according to claim 3, wherein for the charging mode which ischarging on duration, the flow table sent from the controller to the UGWis set with a watchdog timer entry, and set with an operationinstruction entry for instructing the UGW to report a start time atwhich transmission of the data packets starts, and to report atermination time at which the transmission of the data packets isterminated; the UGW takes the time at which the data packets arrive atthe flow table as the start time of the transmission, and initiates thewatchdog timer upon complete reception of the data packets; the watchdogtimer detects an arrival of the termination time at which thetransmission of the data packets is terminated, and reports the starttime and the termination time of the transmission of the data packets tothe controller; the controller calculates duration of use of servicedata based on the statistical result reported from the UGW. 10.(canceled)
 11. The charging method based on a SDN EPC network accordingto claim 7, further comprising: the duration timer continues timing in asituation that there is still data transmission in the flow table beforeexpiration of timing time of the watchdog timer; the duration timertakes the time at which the timing time expires as the time at which theduration timer terminates timing in a situation that there is no datatransmission after the expiration of the timing time of the watchdogtimer; or the watchdog timer continues monitoring the arrival of thetermination time at which the transmission of data packets is terminatedin a situation that there is still data transmission in the flow tablebefore expiration of timing time of the watchdog timer; the watchdogtimer takes the time at which the timing time expires as the terminationtime when the transmission of data packets is terminated in a situationthat there is no data transmission after the expiration of the timingtime of the watchdog timer.
 12. A charging system based on a softwaredefined network evolved packet core (SDN EPC) network, comprising acharge rule generator, a controller and a unified gateway (UGW), whereinthe charging rule generator is configured to generate a charging rulefor a user service, and sending the charging rule to the controller; thecontroller is configured to establish through binding a correspondencebetween a flow table of the controller and the charging rule accordingto the charging rule, set entries for the flow table bound to thecharging rule, and send the flow table to the UGW; the UGW is configuredto statistically analyse traffic and/or duration consumed by servicedata according to the flow table and a charging mode associated with theflow table, and report a statistical result to the controller; and thecontroller is configured to charge for the service according to thestatistical result and the charging rule bound to the flow table;wherein the charging rule comprises the charging mode.
 13. The chargingsystem based on a SDN EPC network according to claim 12, wherein thecharging mode comprises: charging on traffic and/or charging onduration.
 14. The charging system based on a SDN EPC network accordingto claim 13, wherein when the charging mode is the charging on traffic,the controller is configured to set a payload counter entry for the flowtable, set an operation instruction entry for instructing the UGW tocount data packet payloads, and send the flow table to the UGW; the UGWis correspondingly configured to receive the flow table and use apayload counter to count the data packet payloads; the controller isconfigured to send a message for requesting the UGW to report thestatistical result to the UGW when user state information and/or currentstatistical charging information are/is detected to meet a settriggering condition; the UGW is configured to report the amount of thecounted data packet payloads to the controller upon reception of saidmessage; and the controller is configured to calculate traffic usage ofthe service data based on the statistical result.
 15. The chargingsystem based on a SDN EPC network according to claim 13, wherein whenthe charging mode is the charging on traffic, the controller isconfigured to set an operation instruction entry for the flow table forinstructing the UGW to initiate a counter of the UGW for countingservice data packets, and send the flow table to the UGW; the UGW iscorrespondingly configured to receive the flow table and count datapackets in a service flow using the counter of the UGW; the controlleris configured to send a message for requesting the UGW to report thestatistical result when user state information and/or currentstatistical charging information are/is detected to meet a settriggering condition; the UGW is configured to report the amount of thecounted data packets to the controller upon reception of said message;and the controller is configured to calculate traffic usage of theservice data based on the statistical result.
 16. The charging systembased on a SDN EPC network according to claim 13, wherein when thecharging mode is the charging on traffic, the controller is configuredto set a timer entry or a traffic threshold entry for the flow table,and set an operation instruction entry for instructing the UGW toinitiate a payload counter which is set in the flow table to count datapacket payloads, or instructing the UGW to initiate a counter of the UGWto count data packets; and send the flow table to the UGW; the UGW iscorrespondingly configured to receive the flow table, initiate thetimer, and initiating the payload counter to count data packet payloads,or initiating the counter of the UGW to count data packets; report theamount of the counted data packet payloads or the amount of the counteddata packets to the controller upon detection of an expiration of thetimer or reaching of the traffic threshold; and the controller isconfigured to calculate traffic usage of service data based on thestatistical result reported from the UGW.
 17. The charging system basedon a SDN EPC network according to claim 13, wherein when the chargingmode is the charging on duration, the controller is configured to set aduration timer entry and a watchdog timer entry for the flow table, andset an operation instruction entry for instructing the UGW to take atime at which data packets arrive at the flow table as a start time atwhich a duration timer is initiated, and to initiate a watchdog timerupon complete reception of the data packets, and to send the flow tableto the UGW; the UGW is configured to receive the flow table, take thetime at which the data packets arrive at the flow table as the starttime at which the duration timer is initiated, initiate the durationtimer, and initiate the watchdog timer upon complete reception of thedata packets; wherein the duration timer terminates timing when thewatchdog timer detects the arrival of a time at which the duration timerterminates timing; the controller is configured to send a message forrequesting the UGW to report the statistical result when user stateinformation and/or current statistical charging information are/isdetected to meet a set triggering condition; the UGW is configured toreport duration of transmission of the data packets, which is calculatedby the duration timer, to the controller upon reception of said message;and the controller is configured to calculate duration of use of servicedata based on the statistical result reported from the UGW.
 18. Thecharging system based on a SDN EPC network according to claim 13,wherein when the charging mode is the charging on duration, thecontroller is configured to set a timer entry, a duration timer entryand a watchdog timer entry for the flow table, and set an operationinstruction entry for instructing the UGW to take a time at which datapackets arrive at the flow table as a start time at which a durationtimer is initiated, and to initiate a watchdog timer upon completereception of the data packets; and send the flow table to the UGW; theUGW is correspondingly configured to receive the flow table, take thetime at which the data packets arrive at the flow table as the starttime at which the duration timer is initiated, and initiate the watchdogtimer upon complete reception of the data packets; the watchdog timer isconfigured to trigger the duration timer to terminate timing when thewatchdog timer detects arrival of a time at which the duration timerterminates timing; the UGW is configured to monitor the timer and reportduration of transmission of the data packets, calculated by the durationtimer, to the controller when the timer expires; and the controller isconfigured to calculate duration of use of service data based on thestatistical result reported from the UGW.
 19. The charging system basedon a SDN EPC network according to claim 13, wherein when the chargingmode is the charging on duration, the controller is configured to set anwatchdog timer entry for the flow table, and setting an operationinstruction entry for instructing the UGW to report a start time atwhich transmission of the data packets starts, and to report atermination time at which the transmission of the data packets isterminated, and to send the flow table to the UGW; the UGW iscorrespondingly configured to receive the flow table, take the time atwhich the data packets arrive at the flow table as the start time of thetransmission, and initiate the watchdog timer upon complete reception ofthe data packets; the watchdog timer detects an arrival of thetermination time at which the transmission of the data packets isterminated, and report the start time and the termination time of thetransmission of the data packets to the controller; and the controlleris configured to calculate duration of use of service data based on thestatistical result reported from the UGW.
 20. (canceled)
 21. Thecharging system based on a SDN EPC network according to claim 17,wherein the watchdog timer is configured to: when there is still datatransmission in the flow table before expiration of timing time of thewatchdog timer, notify the duration timer to continue timing; when thereis no data transmission after the expiration of the timing time, notifythe duration timer to take the time at which the timing time expires asthe time at which the duration timer terminates timing; or when there isstill data transmission in the flow table before expiration of timingtime of the watchdog timer, continue monitoring the arrival of thetermination time at which the transmission of data packets isterminated; when there is no data transmission after the expiration ofthe timing time of the watchdog timer, take the time at which the timingtime expires as the termination time where the transmission of datapackets is terminated.
 22. A computer storage media, in whichcomputer-executable instructions are stored for implementing a chargingmethod based on a SDN EPC network which comprises steps of: receiving,by a controller, a charging rule from a charging rule generator, andestablishing, through binding, a correspondence between a flow table ofthe controller and the charging rule; setting, by the controller,entries for the flow table bound to the charging rule, and sending theflow table to a unified gateway (UGW); and receiving, by the controller,from the UGW a statistical result regarding traffic and/or durationconsumed by a service in the flow table, and charging for the serviceaccording to the statistical result and the charging rule bound to theflow table.